package com.ruoyi.cbs.contract.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 承包商器具对象 cbs_contractor_equipment
 * 
 * @author ruoyi
 * @date 2025-11-21
 */
public class ContractorEquipment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 承包商ID */
    @Excel(name = "承包商ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long contractorId;

    /** 承包商名称 */
    @Excel(name = "承包商名称")
    private String contractorName;

    /** 器具编号 */
    @Excel(name = "器具编号")
    private String toolNo;

    /** 器具名称 */
    @Excel(name = "器具名称")
    private String toolName;

    /** 器具类别(电动工具,安全防护设备) */
    @Excel(name = "器具类别(电动工具,安全防护设备)")
    private String toolType;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;

    /** 检验编号 */
    @Excel(name = "检验编号")
    private String checkNo;

    /** 检验机构 */
    @Excel(name = "检验机构")
    private String checkOrg;

    /** 检验状态(合格,不合格,待检,报废) */
    @Excel(name = "检验状态(合格,不合格,待检,报废)")
    private String checkStatus;

    /** 检验有效期起 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验有效期起", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityStart;

    /** 检验有效期止 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验有效期止", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityEnd;

    /** 文件ID(检验报告) */
    @Excel(name = "文件ID(检验报告)")
    private String fileId;

    /** 文件名称(检验报告) */
    @Excel(name = "文件名称(检验报告)")
    private String fileName;

    /** 文件地址(检验报告) */
    @Excel(name = "文件地址(检验报告)")
    private String fileUrl;

    /** 状态: 0停用/报废，1可用 */
    @Excel(name = "状态: 0停用/报废，1可用")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setContractorId(Long contractorId) 
    {
        this.contractorId = contractorId;
    }

    public Long getContractorId() 
    {
        return contractorId;
    }

    public void setContractorName(String contractorName) 
    {
        this.contractorName = contractorName;
    }

    public String getContractorName() 
    {
        return contractorName;
    }

    public void setToolNo(String toolNo) 
    {
        this.toolNo = toolNo;
    }

    public String getToolNo() 
    {
        return toolNo;
    }

    public void setToolName(String toolName) 
    {
        this.toolName = toolName;
    }

    public String getToolName() 
    {
        return toolName;
    }

    public void setToolType(String toolType) 
    {
        this.toolType = toolType;
    }

    public String getToolType() 
    {
        return toolType;
    }

    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }

    public void setCheckNo(String checkNo) 
    {
        this.checkNo = checkNo;
    }

    public String getCheckNo() 
    {
        return checkNo;
    }

    public void setCheckOrg(String checkOrg) 
    {
        this.checkOrg = checkOrg;
    }

    public String getCheckOrg() 
    {
        return checkOrg;
    }

    public void setCheckStatus(String checkStatus) 
    {
        this.checkStatus = checkStatus;
    }

    public String getCheckStatus() 
    {
        return checkStatus;
    }

    public void setValidityStart(Date validityStart) 
    {
        this.validityStart = validityStart;
    }

    public Date getValidityStart() 
    {
        return validityStart;
    }

    public void setValidityEnd(Date validityEnd) 
    {
        this.validityEnd = validityEnd;
    }

    public Date getValidityEnd() 
    {
        return validityEnd;
    }

    public void setFileId(String fileId) 
    {
        this.fileId = fileId;
    }

    public String getFileId() 
    {
        return fileId;
    }

    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setFileUrl(String fileUrl) 
    {
        this.fileUrl = fileUrl;
    }

    public String getFileUrl() 
    {
        return fileUrl;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contractorId", getContractorId())
            .append("contractorName", getContractorName())
            .append("toolNo", getToolNo())
            .append("toolName", getToolName())
            .append("toolType", getToolType())
            .append("specification", getSpecification())
            .append("checkNo", getCheckNo())
            .append("checkOrg", getCheckOrg())
            .append("checkStatus", getCheckStatus())
            .append("validityStart", getValidityStart())
            .append("validityEnd", getValidityEnd())
            .append("fileId", getFileId())
            .append("fileName", getFileName())
            .append("fileUrl", getFileUrl())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
